[INFO] fetching crate agent-config 0.3.3...
[INFO] fixing agent-config-0.3.3 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate agent-config 0.3.3 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate agent-config 0.3.3
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate agent-config 0.3.3
[INFO] tweaked toml for crates.io crate agent-config 0.3.3 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate agent-config 0.3.3 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate agent-config 0.3.3 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 95f18076ee7db357796debcc9782dd1f5f3ad362033fe4810b1bdcf9f5486c82
[INFO] running `Command { std: "docker" "start" "95f18076ee7db357796debcc9782dd1f5f3ad362033fe4810b1bdcf9f5486c82", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "95f18076ee7db357796debcc9782dd1f5f3ad362033fe4810b1bdcf9f5486c82" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "95f18076ee7db357796debcc9782dd1f5f3ad362033fe4810b1bdcf9f5486c82", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "95f18076ee7db357796debcc9782dd1f5f3ad362033fe4810b1bdcf9f5486c82" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]     Checking foldhash v0.2.0
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking typenum v1.20.0
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking hashbrown v0.17.0
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]     Checking num-conv v0.2.1
[INFO] [stderr]     Checking num_threads v0.1.7
[INFO] [stderr]     Checking time-core v0.1.8
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]     Checking line-clipping v0.3.7
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]     Checking lru v0.16.4
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]     Checking ucd-trie v0.1.7
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking compact_str v0.9.0
[INFO] [stderr]     Checking borrow-or-share v0.2.4
[INFO] [stderr]     Checking libyaml-rs v0.3.0
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking diff v0.1.13
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]     Checking pretty_assertions v1.4.1
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking unicode-truncate v2.0.1
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking fluent-uri v0.4.1
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking kasuari v0.4.12
[INFO] [stderr]     Checking strum v0.27.2
[INFO] [stderr]     Checking ratatui-core v0.1.0
[INFO] [stderr]     Checking ratatui-widgets v0.3.0
[INFO] [stderr]     Checking ratatui-crossterm v0.1.0
[INFO] [stderr]     Checking ratatui-macros v0.7.0
[INFO] [stderr]     Checking yaml_serde v0.10.4
[INFO] [stderr]     Checking jsonc-parser v0.32.3
[INFO] [stderr]     Checking json5 v1.3.1
[INFO] [stderr]     Checking ratatui v0.30.0
[INFO] [stderr]     Checking agent-config v0.3.3 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/agents/cline/mod.rs:552:42
[INFO] [stdout]     |
[INFO] [stdout] 552 |                 if let Ok(mut entries) = std::fs::read_dir(&empty_dir) {
[INFO] [stdout]     |                           -----------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |              |
[INFO] [stdout]     |                           |              this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                           |              up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           `entries` calls a custom destructor
[INFO] [stdout]     |                           `entries` will be dropped later as of Edition 2024
[INFO] [stdout] 553 |                     if entries.next().is_none() {
[INFO] [stdout]     |                        --------------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 554 |                         let _ = safe_fs::remove_empty_dir(scope, &empty_dir);
[INFO] [stdout]     |                                 --------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 557 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entries` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/util/file_lock.rs:43:19
[INFO] [stdout]     |
[INFO] [stdout]  43 |               match OpenOptions::new()
[INFO] [stdout]     |  ___________________^
[INFO] [stdout]  44 | |                 .write(true)
[INFO] [stdout]  45 | |                 .create_new(true)
[INFO] [stdout]  46 | |                 .open(&lock_path)
[INFO] [stdout]     | |                                 ^
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |_________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  47 |               {
[INFO] [stdout]  48 |                   Ok(mut file) => {
[INFO] [stdout]     |                      --------
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      `file` calls a custom destructor
[INFO] [stdout]     |                      `file` will be dropped later as of Edition 2024
[INFO] [stdout]  49 | /                     writeln!(file, "pid={}", std::process::id())
[INFO] [stdout]  50 | |                         .map_err(|e| AgentConfigError::io(&lock_path, e))?;
[INFO] [stdout]     | |                                                                          -
[INFO] [stdout]     | |__________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  51 | /                     file.sync_all()
[INFO] [stdout]  52 | |                         .map_err(|e| AgentConfigError::io(&lock_path, e))?;
[INFO] [stdout]     | |                                                                          -
[INFO] [stdout]     | |__________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  66 | |         }
[INFO] [stdout]     | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `file` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/agents/codex/mod.rs (1 fix)
[INFO] [stderr]        Fixed src/paths.rs (11 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/agents/cline/mod.rs:552:42
[INFO] [stdout]     |
[INFO] [stdout] 552 |                 if let Ok(mut entries) = std::fs::read_dir(&empty_dir) {
[INFO] [stdout]     |                           -----------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |              |
[INFO] [stdout]     |                           |              this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                           |              up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           `entries` calls a custom destructor
[INFO] [stdout]     |                           `entries` will be dropped later as of Edition 2024
[INFO] [stdout] 553 |                     if entries.next().is_none() {
[INFO] [stdout]     |                        --------------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 554 |                         let _ = safe_fs::remove_empty_dir(scope, &empty_dir);
[INFO] [stdout]     |                                 --------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 557 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entries` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/util/file_lock.rs:43:19
[INFO] [stdout]     |
[INFO] [stdout]  43 |               match OpenOptions::new()
[INFO] [stdout]     |  ___________________^
[INFO] [stdout]  44 | |                 .write(true)
[INFO] [stdout]  45 | |                 .create_new(true)
[INFO] [stdout]  46 | |                 .open(&lock_path)
[INFO] [stdout]     | |                                 ^
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |_________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  47 |               {
[INFO] [stdout]  48 |                   Ok(mut file) => {
[INFO] [stdout]     |                      --------
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      `file` calls a custom destructor
[INFO] [stdout]     |                      `file` will be dropped later as of Edition 2024
[INFO] [stdout]  49 | /                     writeln!(file, "pid={}", std::process::id())
[INFO] [stdout]  50 | |                         .map_err(|e| AgentConfigError::io(&lock_path, e))?;
[INFO] [stdout]     | |                                                                          -
[INFO] [stdout]     | |__________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  51 | /                     file.sync_all()
[INFO] [stdout]  52 | |                         .map_err(|e| AgentConfigError::io(&lock_path, e))?;
[INFO] [stdout]     | |                                                                          -
[INFO] [stdout]     | |__________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  66 | |         }
[INFO] [stdout]     | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `file` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/multi_consumer.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/plan_api.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/common/mod.rs (8 fixes)
[INFO] [stderr]    Migrating tests/mcp_registry.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/mcp_install.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/skill_install.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/dry_run_plan.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/instruction_install.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/instruction_hook_collision.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/drift.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/schema_golden.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/hooks_install_uninstall.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/gen_schema.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/validation.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/scopes_local_vs_global.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/golden.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/golden.rs (8 fixes)
[INFO] [stderr]    Migrating tests/registry.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/size_limit.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/discover_capable_agents.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/instruction_registry.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/windows_paths.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/concurrency.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/tui_dry_run/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/status_registry.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/skill_registry.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/symlink_safety.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.28s
[INFO] [stderr] crater-edition-check: agent-config v0.3.3 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking agent-config v0.3.3 (/opt/rustwide/workdir)
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/paths.rs:374:9
[INFO] [stdout]     |
[INFO] [stdout] 374 |         unsafe { std::env::set_var("CODEX_HOME", &path) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:129:11
[INFO] [stdout]     |
[INFO] [stdout] 129 | #![forbid(unsafe_code)]
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/paths.rs:378:24
[INFO] [stdout]     |
[INFO] [stdout] 378 |             Some(v) => unsafe { std::env::set_var("CODEX_HOME", v) },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/paths.rs:380:21
[INFO] [stdout]     |
[INFO] [stdout] 380 |             None => unsafe { std::env::remove_var("CODEX_HOME") },
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/paths.rs:417:9
[INFO] [stdout]     |
[INFO] [stdout] 417 |         unsafe { std::env::set_var("CRUSH_GLOBAL_CONFIG", &path) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/paths.rs:421:24
[INFO] [stdout]     |
[INFO] [stdout] 421 |             Some(v) => unsafe { std::env::set_var("CRUSH_GLOBAL_CONFIG", v) },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/paths.rs:423:21
[INFO] [stdout]     |
[INFO] [stdout] 423 |             None => unsafe { std::env::remove_var("CRUSH_GLOBAL_CONFIG") },
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/paths.rs:446:9
[INFO] [stdout]     |
[INFO] [stdout] 446 |         unsafe { std::env::set_var("HOME", &home_path) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/paths.rs:495:28
[INFO] [stdout]     |
[INFO] [stdout] 495 |             Some(value) => unsafe { std::env::set_var("HOME", value) },
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/paths.rs:497:21
[INFO] [stdout]     |
[INFO] [stdout] 497 |             None => unsafe { std::env::remove_var("HOME") },
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/paths.rs:501:28
[INFO] [stdout]     |
[INFO] [stdout] 501 |             Some(value) => unsafe { std::env::set_var("USERPROFILE", value) },
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/paths.rs:503:21
[INFO] [stdout]     |
[INFO] [stdout] 503 |             None => unsafe { std::env::remove_var("USERPROFILE") },
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> tests/golden.rs:914:9
[INFO] [stdout]     |
[INFO] [stdout] 914 |         unsafe { std::env::set_var("HOME", &env.home) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-F unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> tests/golden.rs:916:9
[INFO] [stdout]     |
[INFO] [stdout] 916 |         unsafe { std::env::set_var("USERPROFILE", &env.home) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> tests/golden.rs:918:9
[INFO] [stdout]     |
[INFO] [stdout] 918 |         unsafe { std::env::set_var("APPDATA", &env.xdg) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> tests/golden.rs:920:9
[INFO] [stdout]     |
[INFO] [stdout] 920 |         unsafe { std::env::set_var("LOCALAPPDATA", env.home.join("AppData").join("Local")) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> tests/golden.rs:922:9
[INFO] [stdout]     |
[INFO] [stdout] 922 |         unsafe { std::env::set_var("XDG_CONFIG_HOME", &env.xdg) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> tests/golden.rs:924:9
[INFO] [stdout]     |
[INFO] [stdout] 924 |         unsafe { std::env::set_var("CODEX_HOME", &env.codex_home) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> tests/golden.rs:934:17
[INFO] [stdout]     |
[INFO] [stdout] 934 |                 unsafe { std::env::set_var(key, value) };
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> tests/golden.rs:937:17
[INFO] [stdout]     |
[INFO] [stdout] 937 |                 unsafe { std::env::remove_var(key) };
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> tests/common/mod.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         unsafe { env::set_var("HOME", &home_canon) };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-F unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> tests/common/mod.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |         unsafe { env::set_var("USERPROFILE", &home_canon) };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> tests/common/mod.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         unsafe { env::set_var("APPDATA", &appdata) };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> tests/common/mod.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         unsafe { env::set_var("LOCALAPPDATA", &localappdata) };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> tests/common/mod.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         unsafe { env::set_var("XDG_CONFIG_HOME", &xdg_config) };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> tests/common/mod.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         unsafe { env::set_var("CODEX_HOME", home_canon.join(".codex")) };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> tests/common/mod.rs:107:32
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 Some(value) => unsafe { env::set_var(key, value) },
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> tests/common/mod.rs:109:25
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 None => unsafe { env::remove_var(key) },
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `agent-config` (test "golden") due to 8 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `agent-config` (test "plan_api") due to 8 previous errors
[INFO] [stderr] error: could not compile `agent-config` (lib test) due to 11 previous errors
[INFO] running `Command { std: "docker" "inspect" "95f18076ee7db357796debcc9782dd1f5f3ad362033fe4810b1bdcf9f5486c82", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "95f18076ee7db357796debcc9782dd1f5f3ad362033fe4810b1bdcf9f5486c82", kill_on_drop: false }`
[INFO] [stdout] 95f18076ee7db357796debcc9782dd1f5f3ad362033fe4810b1bdcf9f5486c82
